# demo04_magic_method.py   魔术方法
# __init__: 初始化方法/构造方法, 给对象添加属性
# __str__: 返回值是str类型, 打印对象显示的字符串内容
# __call__: 将一个对象作为函数调用时执行的逻辑
class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author
    def __str__(self):
        return f"title:{self.title}, author:{self.author}"
    def __call__(self):
        print(f"title: {self.title}")
if __name__ == '__main__':
    book = Book("<<格林童话>>", "安徒生")
    print(book)
    # title:<<格林童话>>, author:安徒生
    book()  # 函数名()
